In diesem Abschnitt führen wir die ersten Schritte der Aufklärung durch, um Informationen über das Zielsystem zu sammeln. Dies ist entscheidend, um potenzielle Angriffsvektoren zu identifizieren.
Der ARP-Scan zeigt die IP-Adresse und die MAC-Adresse des Zielsystems. Die Angabe "PCS Systemtechnik GmbH" deutet auf den Hersteller der Netzwerkkarte hin.
Die /etc/hosts-Datei ordnet die IP-Adresse dem Hostnamen "skuzzy.vln" zu. Dies ermöglicht die Verwendung des Hostnamens anstelle der IP-Adresse.
Nmap führt einen umfassenden Scan des Zielsystems durch.
-sS
: TCP-SYN-Scan (Stealth Scan)-sC
: Führt Standard-Skripte zur Erkennung von Diensten aus.-sV
: Erkennt die Version der laufenden Dienste.-A
: Aktiviert aggressive Scan-Optionen (OS-Erkennung, Versionserkennung, Skriptausführung, Traceroute).-p-
: Scannt alle 65535 Ports.$IP
: Variable für die Ziel-IP-Adresse.-Pn
: Verhindert Ping-Anfragen, behandelt alle Hosts als "up".--min-rate 5000
: Sendet Pakete mit einer minimalen Rate von 5000 pro Sekunde.Nikto ist ein Webserver-Scanner, der auf Schwachstellen und Konfigurationsfehler prüft.
/#wp-config.php#
wurde gefunden, die möglicherweise Datenbank-Zugangsdaten enthält. Dies ist ein kritischer Fund.In diesem Abschnitt untersuchen wir die Webanwendung genauer, um versteckte Dateien, Verzeichnisse und potenzielle Schwachstellen aufzudecken.
Gobuster ist ein Tool zum Auffinden von versteckten Verzeichnissen und Dateien auf einem Webserver.
-u
: Die URL des Zielsystems.-w
: Die Wordlist, die für das Brute-Forcing verwendet wird.-x
: Dateiendungen, nach denen gesucht wird.-b
: HTTP-Statuscodes, die als Fehler behandelt werden sollen.-e
: Gibt die vollständige URL im Ergebnis aus.--no-error
: Unterdrückt Fehlermeldungen.-k
: Ignoriert SSL-Zertifikatsprobleme./index.html
gefunden.
______ _____ __ __ / ____/ __ / ___// /____ __________ __ __/ / / __/ | | /| / / \__ \/ //_/ / / /_ /_ / / / / / / / /___ | |/ |/ / ___/ / ,< / /_/ / / /_/ /_/ /_/ /_/ /_____/ |__/|__/ /____/_/|_|\__,_/ /___/___/\__, (_) /____/ Welcome to 'Ew Skuzzy!' - my first CTF VM. Level: Intermediate. Forgive the name... I heard a kid say it in a shopping centre; or, perhaps it's a hint? or am I trolling? ¯\_(ツ)_/¯ You'll just have to fireup dirbuster and find out! Flags will be found along the way, if you're on the right path. Most flag data is not of any signifigance to the challenge. Hints available at /dev/null, or ping me on Twitter @vortexau (UTC+9.5 timezone, I'm probably sleeping while you're awake!). Please let me know what you think of the challenge once you're done, and submit your walkthroughs to VulnHub, I'm really looking forward to reading them!
Die index.html
-Seite enthält eine Willkommensnachricht und Hinweise zum CTF. Der Hinweis "fireup dirbuster" deutet auf die Verwendung von Dirbuster zur weiteren Enumeration hin.
In diesem Abschnitt versuchen wir, uns initialen Zugriff auf das System zu verschaffen. Dies kann durch Ausnutzung von Schwachstellen oder durch das Finden von Anmeldeinformationen erfolgen.
Matching Modules # Name Disclosure Date Rank Check Description - - - -- -- 0 auxiliary/scanner/ssh/ssh_enumusers . normal No SSH Username Enumeration 1 \_ action: Malformed Packet . . . Use a malformed packet 2 \_ action: Timing Attack . .
Wir verwenden Metasploit, um nach Modulen zur SSH-Benutzerenumeration zu suchen.
msfconsole -q
: Startet Metasploit im Quiet-Modus (ohne Banner).-x "search ssh_enum"
: Führt den Befehl "search ssh_enum" aus und beendet Metasploit danach.msf6 > use 0 msf6 auxiliary(scanner/ssh/ssh_enumusers) > set THREADS 100 THREADS => 100 msf6 auxiliary(scanner/ssh/ssh_enumusers) > set THRESHLD 10 THRESHLD => 10 msf6 auxiliary(scanner/ssh/ssh_enumusers) > set USER_FILE /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt USER_FILE => /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt msf6 auxiliary(scanner/ssh/ssh_enumusers) > set rport 22 rport => 22 msf6 auxiliary(scanner/ssh/ssh_enumusers) > set rhosts 192.168.2.121 rhosts => 192.168.2.121 msf6 auxiliary(scanner/ssh/ssh_enumusers) > run
Wir verwenden das gefundene Metasploit-Modul, um SSH-Benutzer zu enumerieren.
use 0
: Wählt das erste Modul aus der Suchergebnissen aus.set THREADS 100
: Setzt die Anzahl der Threads auf 100.set THRESHLD 10
: Setzt den Schwellenwert für Fehlalarme auf 10.set USER_FILE
: Gibt die Wordlist mit Benutzernamen an.set rport 22
: Setzt den Remote-Port auf 22 (SSH).set rhosts 192.168.2.121
: Setzt den Remote-Host auf die Ziel-IP-Adresse.run
: Führt das Modul aus.Disk /dev/sda: 200,24 GiB, 215007100928 bytes, 419935744 sectors Disk model: VBX HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xfc3a9125 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 1001470 419934207 418932738 199,8G f W95 Ext'd (LBA) /dev/sda5 1001472 419934207 418932736 199,8G 8e Linux LVM Disk /dev/sdb: 200,24 GiB, 215007100928 bytes, 419935744 sectors Disk model: VBX HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/CCat--vg-root: 198,8 GiB, 213464907776 bytes, 416923648 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/CCat--vg-swap_1: 980 MiB, 1027604480 bytes, 2007040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
fdisk -l
listet die Partitionen auf dem System auf. Hier sehen wir zwei Festplatten: /dev/sda und /dev/sdb. /dev/sda verwendet LVM (Logical Volume Management). Dies könnte interessant sein, um versteckte Daten zu finden.
Dies scheint ein Ausschnitt aus einem laufenden Gobuster-Scan zu sein. Es wurden die URLs http://192.168.2.121/
und http://192.168.2.121/smblogin/
gefunden. Der Pfad /smblogin/
könnte auf eine SMB-Anmeldeseite hindeuten.
iscsiadm -m discovery
sucht nach iSCSI-Zielen. Die Ausgabe zeigt ein iSCSI-Ziel mit dem Namen iqn.2017-02.local.skuzzy:storage.sys0
.
iscsiadm -m node --login
versucht, sich bei dem gefundenen iSCSI-Ziel anzumelden. Die Anmeldung war erfolgreich.
Dieser Proof of Concept demonstriert, wie eine erfolgreiche iSCSI-Verbindung genutzt werden kann, um auf das Dateisystem des Zielsystems zuzugreifen.
Nachdem wir eine erfolgreiche iSCSI-Verbindung hergestellt haben, können wir das iSCSI-Volume mounten und auf die darauf befindlichen Dateien zugreifen. Dies ermöglicht uns, potenziell sensible Informationen zu finden.
In diesem Abschnitt untersuchen wir die Möglichkeiten, unsere Privilegien auf dem System zu erhöhen, um Root-Zugriff zu erlangen.